/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.resume.contrat.builder;

import fr.generali.accueilclient.resume.contrat.om.IResumeContrat;

/**
 * @author Holmes Kelly
 */
public interface IResumeContratBuilder {

    /**
     * numeroContrat le numéro de contrat
     */
    void buildNumeroContrat();

    /**
     * code le code compagnie
     */
    void buildCodeCompagnie();

    /**
     * codeProduit le code produit
     */
    void buildCodeProduit();

    /**
     * libelleProduit libelle du produit
     */
    void buildLibelleProduit();

    /**
     * dateEffet la date d'effet
     */
    void buildDateEffet();

    /**
     * roles une liste de rôles (payeur, souscripteur, assuré)
     */
    void buildRoles();

    /**
     * nature la nature
     */
    void buildNature();

    /**
     * statut le statut
     */
    void buildStatut();

    /**
     * categorie la Categorie
     */
    void buildCategorie();

    /**
     * coordonneesBancaires relative au contrat
     */
    void buildCoordonneesBancaires();

    /**
     * adresse lie au contrat
     */
    void buildAdresse();

    /**
     * echeance the echeance to build
     */
    void buildEcheance();

    /**
     * codeStatistique the codeStatistique to build
     */
    void buildCodeStatistique();

    /**
     * dateResiliation the dateResiliation to build
     */
    void buildDateResiliation();

    /**
     * natureAvenant nature avenant
     */
    void buildNatureAvenant();

    /**
     * frequence la fréquence
     */
    void buildFrequence();

    /**
     * montantAnnuelHT montant annuel HT
     */
    void buildMontantAnnuelHT();

    /**
     * montantAnnuelTTC montant annuel TTC
     */
    void buildMontantAnnuelTTC();

    /**
     * modePaiement mode paiement
     */
    void buildModePaiement();

    /**
     * dateEffetNouvelleAffaire date effet nouvelle affaire
     */
    void buildDateEffetNouvelleAffaire();

    /**
     * motifFinActivite motif fin activite
     */
    void buildMotifFinActivite();

    /**
     * codePortefeuille code portefeuille
     */
    void buildCodePortefeuille();

    /**
     * numeroSuspens numero suspens
     */
    void buildNumeroSuspens();

    /**
     * la nature de recouvrement
     */
    void buildNatureRecouvrement();

    /**
     * le co-souscripteur
     */
    void buildCoSouscripteur();

    /**
     * la precision
     */
    void buildPrecision();

    /**
     * le mode de gestion
     */
    void buildModeGestion();

    /**
     * code system origine
     */
    void buildSystemOrigine();

    /**
     * @return IResumeContrat
     */
    IResumeContrat getResumeContrat();

}
